package net.sk.china.common.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * 微信调起支付参数对象
 * +----------------------------------------------------------------------
 * | Talk To [ 聊来改善地区金融服务环境，助力企业发展 ]
 * +----------------------------------------------------------------------
 * | Copyright (c) 2018-2024 聊来All rights reserved.
 * +----------------------------------------------------------------------
 * | Licensed ( <a href="http://www.apache.org/licenses/LICENSE-2.0">apache</a> )
 * +----------------------------------------------------------------------
 * | @Author: 聊来 <18970881148@qq.com>
 * +----------------------------------------------------------------------
 * | DateTime: 2024/6/4 17:41
 * +----------------------------------------------------------------------
 */
@Data
public class WxPayJsResultVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "微信分配的小程序ID")
    private String appId;

    @ApiModelProperty(value = "随机字符串，不长于32位")
    private String nonceStr;

    @ApiModelProperty(value = "订单详情扩展字符串 不同支付方式解释各有不同，详见微信支付API文档")
    @JsonProperty(value = "package")
    private String packages;

    @ApiModelProperty(value = "签名类型，默认为MD5，支持HMAC-SHA256和MD5。")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String signType;

    @ApiModelProperty(value = "时间戳从1970年1月1日00:00:00至今的秒数,即当前的时间")
    private String timeStamp;

    @ApiModelProperty(value = "支付签名")
    private String paySign;

    @ApiModelProperty(value = "H5支付跳转链接")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String webUrl;

    @ApiModelProperty(value = "微信商户号")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String mchId;
    @ApiModelProperty(value = "微信生成的预支付回话标识，用于后续接口调用中使用，该值有效期为2小时,针对H5支付此参数无特殊用途")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String prepayId;

    @ApiModelProperty(value = "拉起收银台的ticket")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String ticket;
}
